package com.itany.corejava.code08_常用类.泛型;

/**
 * @author 石小俊
 * 2024年07月23日 14:46
 */
public class Test03_泛型方法 {

    public static void main(String[] args) {
        User<Integer> user = new User<>(1, "admin");
        Integer id = test01(user);
        System.out.println(id);
        User<String> user2 = new User<>("2", "admin");
        String id2 = test01(user2);
        System.out.println(id2);

        test02(user);
    }

    /**
     * 如果在方法中存在泛型,那么必须在方法声明中指定泛型标记
     * 通过<泛型标记>来表示
     * 且泛型标记必须在方法返回值之前指定
     * @param user
     * @param <T>
     * @return
     */
    public static <T> T test01(User<T> user) {
        T t = user.getId();
        return t;
    }

    public static <T> void test02(User<T> user) {
        System.out.println(user.getId());
    }

}
